package lucius.work.dao;

import java.io.Serializable;
import java.util.List;

public interface IBaseDao<T> {

	//根据实体的ID属性来加载实体（相当于new）
	//这里的id就是实体的ID属性
	public T get(Class<T> entityClazz,Serializable id);
	
	//保存实体，添加实体
	public Serializable save(T entity);
	
	//更新实体
	public void update(T entity);
	
	//删除实体
	public void delete(T entity);
	
	//根据ID删除实体
	public void delete(Class<T> entityClazz,Serializable id);
	
	//根据ID数组删除实体
	public void delete(Class<T> entityClazz,Serializable[] ids);
	
	//根据hql查询实体
	public List<T> find(String hql);
	
	//获取所有实体
	public List<T> findAll(Class<T> entityClazz);
	
	//获取实体总数
	public long findCount(Class<T> entityClazz);
}
